
enum Api {
	AreaList = '/Api/MF_ManagerFront/MF_Home/PostAreaList',
	GetUptoken = '/Api/MF_ManagerFront/MF_Home/GetUptoken',
	DownloadDesignFile = '/MF_ManagerFront/MF_Tool/DowneApplyPackZip',
	/**
	 * 	获取品牌 下拉列表
	 * 	请求类型
	 * 	SelectType 
	 * 	0 查询5大列表（基本这个用于需要初始加载的时候） 1.模块 2.空壳样机 3.实体样机 4.户外 5.奖牌 还可以逗号隔开用 比如:(1,2,3)就是查询模块和样机
	 */
	PostBrandDic = '/Api/MF_ManagerFront/MF_Product/PostBrandDic',
	// 
	/**
	 * 获取物料（模块/空壳样机/实体样机/户外/奖牌） 的代码及描述
	 * SelectType	
			请求类型 1.模块 2.空壳样机 3.实体样机 4.户外 5.奖牌 这里就只能单个 不可能存在多个品牌同时查询
		 BrandId	 品牌ID
		 ProductName 物料名称 对于实体样机的部分来说 是要搜索下拉的
	 */
	PostProductDic = '/Api/MF_ManagerFront/MF_Product/PostProductDic'
}

export interface AreaListParams {
	// 父级ID 省层级就传0
	AreaId: number,
	// 层级 2省 3.市 4.区
	Level: number
}

export interface AreaModal {
	key: number,
	value: string
}


export function useCommonApi(vm) {
	
	const getAreaList = (params: AreaListParams): AreaModal[] => {
		return vm.$u.post(Api.AreaList, params)
	}
	
	const getUptoken = async (params: {}) => {
		return await vm.$u.get(Api.GetUptoken, params)
	}
	
	const downloadFile = (params: {}) => {
		return vm.$u.post(Api.DownloadDesignFile, params)
	}
	
	const getProductDic = (params: {}) => {
		return vm.$u.post(Api.PostProductDic, params)
	}
	
	const getBrandDic = (params: {}) => {
		return vm.$u.post(Api.PostBrandDic, params)
	}

	return {
		getAreaList,
		getUptoken,
		downloadFile,
		getProductDic,
		getBrandDic
	}
}